package com.ruoyi.eqmonitor.dtos;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.*;

/**
 * 报警查询条件
 */
@Data
public class AlarmSearchInput implements Serializable {

    /** 设备编码 */
    private String deviceCode;

    /** 设备类型 */
    private String deviceType;
    /**排除的设备类型**/
    private String deviceTypeExclude;

    private Integer alarmTypeExclude;

    /** 设备名称 */
    private String deviceName;

    /** 报警编码 */
    private String alarmCode;

    /** 报警表主键ids */
    private Long[] ids;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /** 接收人用户id */
    private Integer receiveUserid;

    /** 片区编码 */
    private String areaCode;

    /** 片区名称 */
    private String areaName;

    /** 泵站id */
    private Long pumpStationId;

    /** 确认报警状态 */
    private Integer confirmAlarm;

    /** 报警现象 */
    private Integer alarmPhenomenon;

    /** 报警状态 */
    private Integer persistentStatus;
    
    private String pipeType;
    
    /** 泵站服务范围id */
    private Integer sewagePumpRangeId;

    /** 多个报警编码 */
    private List<String> alarmCodes;

    /** 多个设备编码 */
    private List<String> deviceCodes;

    /** 区划ID */
    private Integer areaId;

    /** 0:当天，1：最近三天 */
    private Integer state;

    private Integer menuType;

    private Integer alarmType;

    /** 其他参数 */
    private Map<String, Object> params;

    public Map<String, Object> getParams() {
        if (params == null) {
            params = new HashMap<>();
        }
        return params;
    }
}
